import wx from 'weixin-webview-jssdk'
import { getShareUrl } from '@/pages/report/common/share/util'

/** 判断当前环境是否在微信小程序内 */
export const isInWechatMiniProgram = () => {
    return navigator.userAgent.match(/miniprogram/i) || window.__wxjs_environment === 'miniprogram'
}

/** 初始化微信分享所需的数据 */
export const initWxShare = () => {
    // 分享标题
    const shareTitle = '2024年马兰花创业培训年度报告'
    // 分享描述
    const shareDesc = '点击开启年度报告，获取年度关键词'
    // 分享链接，该链接域名或路径必须与当前页面对应的公众号 JS 安全域名一致
    const shareUrl = getShareUrl()
    // 分享图表
    const shareImgUrl =
        'http://chuangpei-prod.oss.busionline.com/wechat/asserts/image/share_preview.png'

    console.log('🐞 => initWxShare => shareUrl', shareUrl)

    wx.ready(function () {
        // 聊天分享（需在用户可能点击分享按钮前就先调用）
        wx.onMenuShareAppMessage({
            title: shareTitle,
            desc: shareDesc,
            link: shareUrl,
            imgUrl: shareImgUrl,
            success: function (res: any) {
                console.log('wx.onMenuShareAppMessage success')
                console.log(res)
            },
            cancel: (err: any) => {
                console.log('wx.onMenuShareAppMessage cancel')
                console.log(err)
            },
        })

        // 朋友圈分享（需在用户可能点击分享按钮前就先调用）
        wx.onMenuShareTimeline({
            title: shareTitle,
            desc: shareDesc,
            link: shareUrl,
            imgUrl: shareImgUrl,
            success: (res: any) => {
                console.log('wx.onMenuShareTimeline success')
                console.log(res)
            },
            cancel: (err: any) => {
                console.log('wx.onMenuShareTimeline cancel')
                console.log(err)
            },
        })
    })

    wx.error((err: any) => {
        // config信息验证失败会执行error函数
        // 如签名过期导致验证失败
        // 具体错误信息可以打开config的debug模式查看
        // 也可以在返回的res参数中查看
        // 对于SPA可以在这里更新签名。
        console.log('wx.error')
        console.log(err)
    })
}
